package br.com.advocacia.entidade;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="Componente")
public class Componente implements Serializable {
	
	private static final long serialVersionUID = -6264588986841163688L;

	@Id
	@GeneratedValue
	@Column(name = "ID")
	private Long id;
	@Column(name = "NOME_COMPONENTE")
	private String nomeComponente;
	@Column(name = "DESCRICAO_COMPONENTE")
	private String descricaoComponente;
	@Column(name = "LINK_COMPONENTE")
	private String linkComponente;
	@ManyToOne
	@JoinColumn(name="HIERARQUIA_COMPONENTE")
	private Componente componente;
	@OneToMany(mappedBy="componente")
	private List<Componente> componentes;
	@ManyToMany(mappedBy="componentes")
	private List<Perfil> perfis;
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNomeComponente() {
		return nomeComponente;
	}
	public void setNomeComponente(String nomeComponente) {
		this.nomeComponente = nomeComponente;
	}
	public String getDescricaoComponente() {
		return descricaoComponente;
	}
	public void setDescricaoComponente(String descricaoComponente) {
		this.descricaoComponente = descricaoComponente;
	}
	public String getLinkComponente() {
		return linkComponente;
	}
	public void setLinkComponente(String linkComponente) {
		this.linkComponente = linkComponente;
	}
	public Componente getComponente() {
		return componente;
	}
	public void setComponente(Componente componente) {
		this.componente = componente;
	}
	public List<Componente> getComponentes() {
		return componentes;
	}
	public void setComponentes(List<Componente> componentes) {
		this.componentes = componentes;
	}
	public List<Perfil> getPerfis() {
		return perfis;
	}
	public void setPerfis(List<Perfil> perfis) {
		this.perfis = perfis;
	}
	
	
}